package com.neusoft.Shixun.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class InterceptorReg implements WebMvcConfigurer {
    //	注入拦截器对象
    @Autowired
    private HandlerInterceptor mi;

    //	注册拦截器的方法
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // TODO Auto-generated method stub 暂时先不拦截
        List<String> path = new ArrayList<>();
        path.add("/mcp/**");  // 新增：排除所有 MCP 相关路径
        path.add("/sse/**");
        path.add("/UserController/login");
//        path.add("/ClientController/queryByCon");
        path.add("/UserController/logout");
//        不能拦截ai
        path.add("/ChatClientController/**");
        path.add("/MessageController/**");
        path.add("/ClientController/getClientById");
        path.add("/ClientCareItemController/getClientCareItemsByClientId");
        path.add("/v3/**");
        path.add("/swagger-ui/**");
        path.add("/swagger-resources/**");
        path.add("/webjars/**");
        path.add("/error");
        path.add("/doc**");
//		设定后端拦截器不拦截哪些
        registry.addInterceptor(mi).excludePathPatterns(path);
        WebMvcConfigurer.super.addInterceptors(registry);
    }
}
